﻿using System;
namespace Landpy.CruiseControlNet.ConfigurationSidekick.ConfigTreeModule
{
    [Flags]
    enum TreeNodeType : ulong
    {
        Unknow = 0x0,
        CruiseControl = 0x1,
        InternalSecurity = 0x2,
        PasswordUser = 0x4,
        LdapUser = 0x8,
        UserName = 0x10,
        InternalRolePermission = 0x20,
        InternalUserPermission = 0x40,
        Project = 0x80,
        ProjectSecurity = 0x100,
        SourceControl = 0x200,
        CronTrigger = 0x400,
        FilterTrigger = 0x800,
        IntervalTrigger = 0x1000,
        MultiTrigger = 0x2000,
        ParameterTrigger = 0x4000,
        ProjectTrigger = 0x8000,
        RollupTrigger = 0x10000,
        ScheduleTrigger = 0x20000,
        UrlTrigger = 0x40000,
        ExecTask = 0x80000,
        MSBuildTask = 0x100000,
        NUnitTask = 0x200000,
        Assembly = 0x400000,
        XmlLoggerPublisher = 0x800000,
        EmailPublisher = 0x1000000,
        ArtifactCleanupPublisher = 0x2000000,
        EmailUser = 0x4000000,
        EmailGroups = 0x8000000,
        EmailGroup = 0x10000000,
        Subject = 0x20000000,
        XslFile = 0x40000000,
        ProjectRolePermission = 0x80000000,
        ProjectUserPermission = 0x100000000,
        InternalRolePermissonSecurityUser = 0x200000000,
        ProjcectRolePermissonSecurityUser = 0x400000000,
        InternalSecurityUser = PasswordUser | LdapUser | UserName,
        InternalPermission = InternalUserPermission | InternalRolePermission,
        ProjectPermission = ProjectRolePermission | ProjectUserPermission,
        Trigger = CronTrigger | FilterTrigger | IntervalTrigger | MultiTrigger | ParameterTrigger | ProjectTrigger | RollupTrigger | ScheduleTrigger | UrlTrigger,
        Task = ExecTask | MSBuildTask | NUnitTask,
        Publisher = XmlLoggerPublisher | EmailPublisher | ArtifactCleanupPublisher
    }
}
